As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Conventionally, installation of operating systems and application programs on an information handling system is achieved by determining the hardware characteristics of the information handling system, copying and source files compatible with such hardware characteristics, installing the files, and then configuring the installed files, often based on user input. This conventional approach to installation is often time consuming and many of the steps are the same regardless of the system on which the application or operating system is installed. With these conventional techniques, discovering system information, copying and installing files, and configuration based on use input requires a significant length of time.
In order to reduce the length of time required to install and configure operating systems and/or application programs on an information handling system, image-based installation procedures have been utilized. Under such image-based installation procedures, an information handling system on which the desired software is to be installed, also referred to as a “target device,” may boot from a minimal operating system that configures minimal hardware and configures minimal settings for the target device. The target device may then receive, for example via a network or computer-readable medium (e.g., hard disk drive or compact disk), a software image of the software to be installed. Using the minimal operating system, the target device may apply the received software image, and then boot into the applied software image. This approach allows common installation tasks to be performed during the creation of the software image, obviating the need for such tasks to be repeated on the target computer, and thus saving time and reducing the likelihood of errors.
However, due to a number of factors including processing capability and network constraints, image-based installation procedures which use data networks to deploy software images to the various target nodes are limited, in that such procedures can only simultaneously deploy a limited number of target nodes. Accordingly, once the deployment threshold of a particular network is reached, the total deployment time may theoretically scale linearly with the number of target devices. Such linear scalability is often not desirable in systems with large numbers of nodes. Accordingly, systems and methods that provide improvement over the linear scalability of conventional image-based software image deployment are desired.